package com.itheima.service.impl;

import com.itheima.service.MyUploadTestService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Service
public class MyUploadTestServiceImpl implements MyUploadTestService {
    @Override
    public String saveFile(MultipartFile file) throws IOException {
        /*
        准备使用本地存储的方式完成对文件的保存
        1.获取真实的文件名（获取文件的后缀）
        2.为了避免文件重名覆盖，需要随机生成一个不重复的文件名，
        配合上一步的后缀作为即将保存的文件名使用
        3.真正的保存
         */
        String originalFilename = file.getOriginalFilename();
        //1.先找到文件名中最后一个点的索引位置，然后在截取即可
        // 或 直接通过点分割，获取数组的最后一个元素
//        int i = originalFilename.lastIndexOf(".");
//        String ext = originalFilename.substring(i>=0?i:0);

        String[] arr = originalFilename.split("\\.");
        String ext = arr[arr.length-1];
        //2.为了避免文件重名覆盖，需要随机生成一个不重复的文件名，
        String newName = UUID.randomUUID().toString() + "." + ext;
        File file1 = new File("D://a//" + newName);
        //3.真正的保存
        file.transferTo(file1);
        return file1.getAbsolutePath();
    }
}
